#ifndef LIGHT_H
#define LIGHT_H

#include "GameObject.h"
#include "Vec3.h"
#include "Material.h"

namespace Engine
{
	enum LIGHT_TYPE { DIRECTIONAL, POSITIONAL};

	class Light : public GameObject
	{
		private:
			Vec3 m_pos;
			Material m_material;
			int m_lightID;
			LIGHT_TYPE m_type;
	
		public:
			//overriden from game object
			void Draw();
			const char* GetTypeName() const {return "Light";}
	
			//setters
			void SetPos(const Vec3& pos) {m_pos = pos;}
			void SetLightID(int id) {m_lightID = id;}
			void SetType(LIGHT_TYPE type) {m_type = type;}
			void SetMaterial(const Material& m) {m_material = m;}
	
			//getters
			const Vec3& GetPos() const {return m_pos;}
			int GetLightID() const {return m_lightID;}
			LIGHT_TYPE GetLightType() const {return m_type;}
			const Material& getMaterial() const {return m_material;}
	};
}

#endif